﻿
// 项目展示地址:"http://www.ddxc.org/"
 // 如果你有什么好的建议或者觉得可以加什么功能，请加QQ群：104390185大家交流沟通
// 项目展示地址:"http://www.yoyocms.com/"
//博客地址：http://www.cnblogs.com/wer-ltm/
//代码生成器帮助文档：http://www.cnblogs.com/wer-ltm/p/5777190.html
// <Author-作者>角落的白板笔</Author-作者>
// Copyright © YoYoCms@中国.2017-02-04T15:49:20. All Rights Reserved.
//<生成时间>2017-02-04T15:49:20</生成时间>
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using ShiTong.PhoneBook.Persons.Dtos;

namespace ShiTong.PhoneBook.Persons
{
	/// <summary>
    /// 联系人服务接口
    /// </summary>
    public interface IPersonAppService : IApplicationService
    {
        #region 联系人管理

        /// <summary>
        /// 根据查询条件获取联系人分页列表
        /// </summary>
        Task<PagedResultDto<PersonListDto>> GetPagedPersonsAsync(GetPersonInput input);

        /// <summary>
        /// 通过Id获取联系人信息进行编辑或修改 
        /// </summary>
        Task<GetPersonForEditOutput> GetPersonForEditAsync(NullableIdDto<long> input);

		  /// <summary>
        /// 通过指定id获取联系人ListDto信息
        /// </summary>
		Task<PersonListDto> GetPersonByIdAsync(EntityDto<long> input);



        /// <summary>
        /// 新增或更改联系人
        /// </summary>
        Task CreateOrUpdatePersonAsync(CreateOrUpdatePersonInput input);





        /// <summary>
        /// 新增联系人
        /// </summary>
        Task<PersonEditDto> CreatePersonAsync(PersonEditDto input);

        /// <summary>
        /// 更新联系人
        /// </summary>
        Task UpdatePersonAsync(PersonEditDto input);

        /// <summary>
        /// 删除联系人
        /// </summary>
        Task DeletePersonAsync(EntityDto<long> input);

        /// <summary>
        /// 批量删除联系人
        /// </summary>
        Task BatchDeletePersonAsync(List<long> input);

        #endregion


#region Excel导出功能



         /// <summary>
        /// 获取联系人信息转换为Excel
        /// </summary>
        /// <returns></returns>
        Task<PersonListDto> GetPersonToExcel();

#endregion


    }
}
